package com.six.mapper;

import com.six.domain.vo.DishSaleRankVo;
import com.six.domain.vo.PayChannelStatVo;
import com.six.domain.vo.SalesStatVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.time.LocalDateTime;
import java.util.List;

@Mapper
public interface ReportMapper {

    /* 1. 销售统计 */
    List<SalesStatVo> salesDaily(@Param("storeId") Long storeId,
                                 @Param("start") LocalDateTime start,
                                 @Param("end") LocalDateTime end);

    /* 2. 菜品销量排行 */
    List<DishSaleRankVo> dishRank(@Param("storeId") Long storeId,
                                  @Param("start") LocalDateTime start,
                                  @Param("end") LocalDateTime end,
                                  @Param("top") int top);

    /* 3. 支付渠道统计 */
    List<PayChannelStatVo> payChannel(@Param("storeId") Long storeId,
                                      @Param("start") LocalDateTime start,
                                      @Param("end") LocalDateTime end);
}
